In the field of digital communications, digital information is typically prepared for transmission through a channel by encoding it. The encoded data is then used to modulate a transmission to the channel. A transmission received from the channel is then typically demodulated and decoded to recover the original information.
The encoding of digital data serves to improve communication performance so that the transmitted signals are less corrupted by noise, fading, or other interference associated with the channel. The term “channel” can include media such as conducting transmission lines, electromagnetic waves propagated through the atmosphere or otherwise among wireless devices, information storage devices such as disc drives, or any other particular type of channel involved in the transmission or storage of a signal.
In the case of information storage devices, the signal may be stored in the channel for a period of time before it is accessed or received. Encoding can reduce the probability of error during data recovery, when the encoding is adapted to the known characteristics of the data and its interaction with known noise characteristics of a communication channel.
In a typical encoding protocol, individual data sequences of m data bits are encoded into larger data sequences of n code bits, and the ratio m/n is known as the code rate of the encoding protocol. Decreasing the code rate may reduce the complexity of the encoder and decoder and improve error correction. However, decreasing the code rate may also increase energy consumption and decrease the rate of transmission.
There are also advantages to encode a data sequence to have a spectral null at zero frequency. Such a sequence is said to be DC free (DCF), and is found to enhance performance particularly in perpendicular magnetic recording. A given digital sequence consists of bits, each of which is either a 1 or a 0. In a corresponding bipolar representation, each bit corresponds to a bipolar symbol. Particularly, each 1 corresponds to a +1 and each 0 corresponds to a −1. An ongoing digital sequence can be characterized by a running digital sum (RDS), which is the result of summing the bipolar symbols corresponding to the sequence. A DCF sequence is one in which the RDS is bounded, or maintained within a bound, or a maximum absolute value, regardless of the run length of the sequence. A bound, particularly a relatively small one, may improve the performance of the channel.
It is particularly desired in many applications of data transmission to encode and transmit data in a way that optimizes the combination of competing interests such as complexity of encoder and decoder, error correction, energy consumption, speed of communication, minimized running digital sum, and other performance characteristics. Various embodiments of the present invention address these problems, and offer other advantages over the prior art.